<?php
namespace Admin\Controller;
use Think\Controller;
class IndexController extends Controller
{

    public function _initialize()
    {
        if (!session('?admin')) {//把admin属性写到session里面，判断有没有admin属性
            $this->error('当前用户没有权限','Login/login');
            exit;
        }

    }
    public function index()
    {
        //$this->show('<style type="text/css">*{ padding: 0; margin: 0; } div{ padding: 4px 48px;} body{ background: #fff; font-family: "微软雅黑"; color: #333;font-size:24px} h1{ font-size: 100px; font-weight: normal; margin-bottom: 12px; } p{ line-height: 1.8em; font-size: 36px } a,a:hover,{color:blue;}</style><div style="padding: 24px 48px;"> <h1>:)</h1><p>欢迎使用 <b>ThinkPHP</b>！</p><br/>版本 V{$Think.version}</div><script type="text/javascript" src="http://ad.topthink.com/Public/static/client.js"></script><thinkad id="ad_55e75dfae343f5a1"></thinkad><script type="text/javascript" src="http://tajs.qq.com/stats?sId=9347272" charset="UTF-8"></script>','utf-8');
        echo 'this is admin moudle';
    }

    function UserList()
    {
        $userModel = M("Users");
        $local_users = $userModel->order("id desc")->select();
        //select * from think_users order by id desc
        //$users是函数中的局部变量，在外面是不可见得
        $this->users = $local_users;
        //$this -> display($this->users);
        //$this -> display($this->users);
        $this->display();
        //把当前对象的所有全局变量传递到对应的视图中
    }

    function bsUserList()
    {
//        $userModel = M("Users");
//        $local_users = $userModel->order("id desc")->select();
//        //select * from think_users order by id desc
//        //$users是函数中的局部变量，在外面是不可见得
//        $this->users = $local_users;
//        //$this -> display($this->users);
//        //$this -> display($this->users);
//        $this->display();
//        //把当前对象的所有全局变量传递到对应的视图中

        $User = M('Users'); // 实例化User对象
        $count = $User->count();// 查询满足要求的总记录数
        $Page= new \Think\Page($count,5);// 实例化分页类 传入总记录数和每页显示的记录数(25)

        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        //$list = $User->where('status=1')->order('create_time')->limit($Page->firstRow.','.$Page->listRows)->select();
        $list = $User->limit($Page->firstRow.','.$Page->listRows)->select();
        $show = $Page->show();// 分页显示输出
//        //把当前类的全局变量传递到界面
        //$this->users=$list;
        //$this->page=$show;
        $this->assign('users',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出
        $this->display(); // 输出模板

    }

    function Users()
    {
        $userModel = M("Users");
        $local_users = $userModel->order("id desc")->select();
        //select * from think_users order by id desc
        //$users是函数中的局部变量，在外面是不可见得
        $this->users = $local_users;
        //$this -> display($this->users);
        //$this -> display($this->users);
        $this->display();
        //把当前对象的所有全局变量传递到对应的视图中
    }

    //删除用户
    function del($id)
    {
        //生成一个users模型实例
        $usersModel = M('Users');
        //调用模型的方法删除数据
        if ($usersModel->delete($id)) {
            //delete from think_users where id=$id
            //删除成功
            $this->success('删除成功');
        } else {
            //删除失败
            $this->error('删除失败');
        }
    }

    //修改明星作者
    function setstar($id)
    {
        //生成一个模型users表对应的模型实例：usersModel
        $usersModel = M('Users');
        //update users set isstar=1 where id=$id;
        $data['isstar'] = 1;
        if ($usersModel->where("id=$id")->save($data)) {
            $this->success('修改明星作者成功');
        } else {
            $this->error('修改明星作者失败');
        }
    }

    //取消明星作者
    function unstar($id)
    {
        $usersModel = M('Users');
        $usersModel->isstar = 0;
        $usersModel->isfirst = 0;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('取消明星作者成功');
        } else {
            $this->error('取消明星作者失败');
        }
    }

    //取消首页推荐
    function unfirst($id)
    {
        //生成一个模型users表对应的模型实例：usersModel
        $usersModel = M('Users');
        //update users set isstar=1 where id=$id;
        $usersModel->isfirst = 0;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('取消首页推荐成功');
        } else {
            $this->error('取消首页推荐失败');
        }
    }

    //设置首页推荐
    function setfirst($id)
    {
        $usersModel = M('Users');
        $usersModel->isstar = 1;
        $usersModel->isfirst = 1;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('设置首页推荐成功');
        } else {
            $this->error('设置首页推荐失败');
        }
    }

    //禁用
    function state00($id)
    {
        $usersModel = M('Users');
        $usersModel->state = 0;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('设置禁用成功');
        } else {
            $this->error('设置禁用失败');
        }
    }

    //取消禁用
    function state01($id)
    {
        $usersModel = M('Users');
        $usersModel->state = 1;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('取消禁用成功');
        } else {
            $this->error('取消禁用失败');
        }
    }

    //禁言
    function state02($id)
    {
        $usersModel = M('Users');
        $usersModel->state = 1;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('设置禁言成功');
        } else {
            $this->error('设置禁言失败');
        }
    }

    //取消禁言
    function state03($id)
    {
        $usersModel = M('Users');
        $usersModel->state = 2;
        $usersModel->id = $id;
        if ($usersModel->save()) {
            $this->success('取消禁言成功');
        } else {
            $this->error('取消禁言失败');
        }
    }

    //更新用户信息
    function updateUserInfo($id)
    {
        $usersModel = M('Users');
        $this->user = $usersModel->find($id);
        //将查询到的用户信息user传递给模板updateUserInfo.html
        $this->display();
    }


    function update()
    {
        //获取add.html界面提交过来的数据，修改写入数据库
        //$_POST   I方法：I(post.)
        //方法1：$data=$_POST
        //方法2：$data=I(post.)
        //方法3：create() 利用$_POST数据创建一个对象
        $userModel = D('Users');
        $userModel->create();

        //$_FILES['photo']['error']==0 表示上传成功
        if ($_FILES['photo']['error'] == 0) {
            $photoinfo = $this->upload();
            $userModel->photo = $photoinfo['photo']['savename'];
        }

        if ($userModel->save()) {
            $this->success('修改用户成功', 'Users');
        } else {
            $this->error('修改用户失败');
        }
    }

    public function upload()
    {
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Public/UpLoads/photo/'; // 设置附件上传根目录
        //$upload->savePath = ''; // 设置附件上传（子）目录
        $upload->autoSub = false;
// 上传文件
        $info = $upload->upload();
        if (!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());
        } else {// 上传成功
            //$this->success('上传成功！');
            return $info;
        }
    }

    //接收从add.html界面提交过来的用户信息
    //创建对象 保存对象到数据库中
    public function addUser()
    {
        //第一步：
        //获取add.html界面提交过来的数据，修改写入数据库
        //$_POST   I方法：I(post.)
        //方法1：$data=$_POST
        //方法2：$data=I(post.)
        //方法3：create() 利用$_POST数据创建一个对象
        //第二步：
        //注意！：图像的名字单独进行处理。图像的上传以及photo字段的赋值
        //第三步：
        //保存到数据库 通过add()方法
        $userModel = D('Users');//采用D方法才会自动验证

        if ($userModel->create()) {
            //$_FILES['photo']['error']==0 表示上传成功
            if ($_FILES['photo']['error'] == 0) {//判断文件上传是否成功
                // $photoinfo = $this->upload();//将临时文件保存到指定位置
                $fileName = $this->img();
                $userModel->photo = $fileName;//获取并设置文件名称
            }
            if ($userModel->add()) {
                $this->success('添加用户成功', 'Users');//返回到'users'-用户列表界面，可以自己设置
            } else {
                $this->error('添加用户失败');
            }
        }else {
            $this->error($userModel->getError());
        }
    }
    //图像处理
    function img(){
//        if($_FILES['photo']['error'] == 0){
        $photoinfo=$this->upload();//将临时文件保存到指定位置
        $filePath='./Public/UpLoads/photo/';//定义图片的保存路径
        $oldFileName=$photoinfo['photo']['savename'];//未修改的文件名不包含文件位置
        $oldFileFullName=$filePath."\\".$oldFileName;//未修改的文件名包含保存文件的位置和文件名
        $newFileName='thumb_'.$oldFileName;//新文件名
        $newFileFullName=$filePath."\\".$newFileName; //修改后的文件名包含保存文件的位置和文件名


        $image=new \Think\Image();
        $image->open($oldFileFullName);//定义打开的修改文件
        $image->thumb(100,100)->save($newFileFullName);//定义文件缩略的大小和缩略后的文件名
        return $newFileName;

    }

    function Videos()
    {
        $videoModel = M("Videos");
        $local_videos = $videoModel->order("vid desc")->select();
        //select * from think_users order by id desc
        //$users是函数中的局部变量，在外面是不可见得
        $this->videos = $local_videos;
        //$this -> display($this->users);
        //$this -> display($this->users);
        $this->display();
        //把当前对象的所有全局变量传递到对应的视图中
    }

    //删除用户
    function delVideo($vid)
    {
        //生成一个users模型实例
        $videosModel = M('Videos');
        //调用模型的方法删除数据
        if ($videosModel->delete($vid)) {
            //delete from think_users where id=$id
            //删除成功
            $this->success('删除成功');
        } else {
            //删除失败
            $this->error('删除失败');
        }
    }

    //设置首页推荐
    function setvideofirst($vid)
    {
        $videosModel = M('Videos');
        $videosModel->isfirst = 1;
        $videosModel->vid = $vid;
        if ($videosModel->save()) {
            $this->success('设置首页推荐成功');
        } else {
            $this->error('设置首页推荐失败');
        }
    }

    //取消首页推荐
    function unvideofirst($vid)
    {
        //生成一个模型users表对应的模型实例：usersModel
        $videosModel = M('Videos');
        //update users set isstar=1 where id=$id;
        $videosModel->isfirst = 0;
        $videosModel->vid = $vid;
        if ($videosModel->save()) {
            $this->success('取消首页推荐成功');
        } else {
            $this->error('取消首页推荐失败');
        }
    }
    //更新视频信息
    function updateVideoInfo($vid)
    {
        $videoModel = M('Videos');
        $this->video = $videoModel->find($vid);
        //将查询到的用户信息user传递给模板updateUserInfo.html
        $this->display();
    }


    function updateVideo()
    {
        //获取add.html界面提交过来的数据，修改写入数据库
        //$_POST   I方法：I(post.)
        //方法1：$data=$_POST
        //方法2：$data=I(post.)
        //方法3：create() 利用$_POST数据创建一个对象
        $videoModel = D('Videos');
        $videoModel->create();

        //$_FILES['photo']['error']==0 表示上传成功
        if ($_FILES['photo']['error'] == 0) {
            $photoinfo = $this->upload();
            $videoModel->photo = $photoinfo['photo']['savename'];
        }

        if ($videoModel->save()) {
            $this->success('修改视频成功', 'Videos');
        } else {
            $this->error('修改视频失败');
        }
    }

    public function uploadVideo()
    {
        $upload = new \Think\Upload();// 实例化上传类
        $upload->maxSize = 3145728;// 设置附件上传大小
        $upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->rootPath = './Public/UpLoads/photo/'; // 设置附件上传根目录
        //$upload->savePath = ''; // 设置附件上传（子）目录
        $upload->autoSub = false;
        // 上传文件
        $info = $upload->upload();
        if (!$info) {// 上传错误提示错误信息
            $this->error($upload->getError());
        } else {// 上传成功
            //$this->success('上传成功！');
            return $info;
        }
    }

    //接收从add.html界面提交过来的用户信息
    //创建对象 保存对象到数据库中
    public function addVideoInfo()
    {
        //第一步：
        //获取add.html界面提交过来的数据，修改写入数据库
        //$_POST   I方法：I(post.)
        //方法1：$data=$_POST
        //方法2：$data=I(post.)
        //方法3：create() 利用$_POST数据创建一个对象
        //第二步：
        //注意！：图像的名字单独进行处理。图像的上传以及photo字段的赋值
        //第三步：
        //保存到数据库 通过add()方法
        $videoModel = D('Videos');//采用D方法才会自动验证

        if ($videoModel->create()) {
            //$_FILES['photo']['error']==0 表示上传成功
            if ($_FILES['photo']['error'] == 0) {//判断文件上传是否成功
                // $photoinfo = $this->upload();//将临时文件保存到指定位置
                $fileName = $this->img();
                $videoModel->photo = $fileName;//获取并设置文件名称
            }
            if ($videoModel->add()) {
                $this->success('添加视频成功', 'Videos');//返回到'users'-用户列表界面，可以自己设置
            } else {
                $this->error('添加视频失败');
            }
        }else {
            $this->error($videoModel->getError());
        }
    }
    //图像处理
    function imgVideo(){
//        if($_FILES['photo']['error'] == 0){
        $photoinfo=$this->upload();//将临时文件保存到指定位置
        $filePath='./Public/UpLoads/photo/';//定义图片的保存路径
        $oldFileName=$photoinfo['photo']['savename'];//未修改的文件名不包含文件位置
        $oldFileFullName=$filePath."\\".$oldFileName;//未修改的文件名包含保存文件的位置和文件名
        $newFileName='thumb_'.$oldFileName;//新文件名
        $newFileFullName=$filePath."\\".$newFileName; //修改后的文件名包含保存文件的位置和文件名


        $image=new \Think\Image();
        $image->open($oldFileFullName);//定义打开的修改文件
        $image->thumb(100,100)->save($newFileFullName);//定义文件缩略的大小和缩略后的文件名
        return $newFileName;
    }


}
?>